package com.eastfair.home.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.ExhibitionDrawingDTO;
import com.eastfair.home.entity.ExhibitionDrawing;
import com.eastfair.home.vo.ExhibitionDrawingVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 展会图纸分类
 * </p>
 *
 * @author dq
 * @date 2022-10-25
 */
public interface ExhibitionDrawingService extends SuperService<ExhibitionDrawing> {

    /**
     * 查询展会图纸列表.
     *
     * @param query the query
     * @return the list
     */
    List<ExhibitionDrawing> listExhibitionDrawing(ExhibitionDrawingDTO query);

    /**
     * 分页查询展会图纸分类关系列表.
     *
     * @param pageParams the page params
     * @return the page
     */
    Page<ExhibitionDrawingVO> listExhibitionByDrawingId(PageParams<ExhibitionDrawingDTO> pageParams);

    /**
     * 保存展会图纸.
     *
     * @param exhibitionDrawingDTO the exhibition drawing dto
     * @return the boolean
     */
    boolean saveExhibitionDrawing(ExhibitionDrawingDTO exhibitionDrawingDTO);

    /**
     * 批量保存展会图纸.
     *
     * @param list the list
     * @return the boolean
     */
    boolean saveBatch(List<ExhibitionDrawingDTO> list);

    /**
     * 主场ID批量保存展会图纸.
     *
     * @param list   the list
     * @param homeId the home id
     * @return the boolean
     */
    boolean saveBatch(List<ExhibitionDrawingDTO> list, Long homeId);

    /**
     * 展会ID和主场ID删除展会图纸.
     *
     * @param exhibitionId the exhibition manage id
     * @param homeId             the home id
     * @return the boolean
     */
    boolean removeByExhibitionId(Long exhibitionId, Long homeId);

    /**
     * 图纸ID删除展会图纸.
     *
     * @param drawingId the id
     * @return the boolean
     */
    boolean removeByDrawingId(Long drawingId);
}
